home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
VIRUTION
/
VDETECT.LZH
/
VIRUS.DOC
< prev
Wrap
Text File
|
1988-08-21
|
26KB
|
607 lines
VIRUS DETECTER
Version 1.1
Virus detection for the IBM Personal Computer
and compatibles
User's Manual
(c) 1988 by Tim OBrien
Table of Contents
What is a VIRUS?............................................1
What is VIRUS DETECTER and how should it be used?...........2
How to invoke VIRUS DETECTER................................4
System Requirements.........................................6
A word from the author......................................7
Disclaimer..................................................8
Registration................................................9
Sample files created by VIRUS DETECTER......................11
PAGE 1
----- WHAT IS A VIRUS? -----
A computer virus is a piece of program code that exists within an
otherwise normal program. When this program is run, the viral code
seeks out other programs within the computer and replicates
itself. The other programs can be anywhere in your system and can
even be the operating system itself. This infection can grow
geometrically depending on the number and different types of
programs you run (1 program infects 2, 2 infect 4, 4 infect 8...).
At a given point in time or based on some other external triggers
such as the number of times the program was run, the amount of
free disk space is reduced to below 10%, or any of a million other
circumstances, the viral code goes to work doing what it was
intended for. It could be as harmless as blanking your screen or
as vicious as formatting your hard disk and everything inbetween
is possible.
The concern over viruses has grown enormously over the past year and
even NASA has been infected. You would think (or hope) that high
security installations like NASA would be free from infections, but
the fact of the matter is that it can happen to any computer, no
matter how hard you try to prevent it.
There is some software on the market today that tries to stop
viruses from spreading by monitoring disk access and only allowing
authorized updates. The biggest problem with these is that they are
doing this monitoring while your doing your day-to-day work. You
may not see any impact on performance with a fast cpu and disk,
but not everyone has that sort of equiptment. A bigger problem is
that some viruses are created knowing what and how these monitor
programs work. Once knowing this the virus can circumvent the
protection process.
I by no means imply that these viral-fighting programs are less
than adequate, but only want you to know that regardless of the
precautions, a virus can still infect your system.
PAGE 2
----- WHAT IS A VIRUS DETECTER? -----
VIRUS DETECTER is 3000 lines of A86 assembler language code (and
thus very fast) that takes a snapshot of the disk environment for up
to 5 disk drives, each directory in each drive, and each file in
each directory. Up to 10 different file extensions can be specified
(I recommend EXE, COM, and SYS as a minimum) or an asterisk can be
used to snapshot all files. The information is retained in read-only
file VIRUS.NEW and consists of the following:
o Selection criteria (drive letters and file extensions)
o Each directory found on each drive
o Each file in each directory that matches the file
extensions specified
o The size, date, and time of each file
o A Standard CRC of each file
o An altered CRC of each file
On subsequent runs of VIRUS DETECTER, the VIRUS.NEW file is renamed
to VIRUS.OLD and new VIRUS.NEW is created using the options from
the previous run. After VIRUS.NEW is created, a comparison between
VIRUS.OLD and VIRUS.NEW is done and all differences are written to
VIRUS.RPT. The data in this report file consists of the following:
o Reports all directories deleted
o Reports all files deleted
o Reports all directories added
o Reports all files added
o Reports the before and after statistics for all files
that have been modified
The CRC (cyclic redundancy check) is the key to knowing when a virus
has been detected. In order for viruses to remain un-detected, they
must not modify the file size or date. At the time of this writing,
I have heard of no viruses that do not change the CRC of the file.
Specifically, the CRC is a process of taking the first byte within a
file and through an algorithm, apply a value of the next byte in the
file to derive a hexadecimal representation as of that byte in the
file. This process repeates until each byte of the file has been
applied to the algorithm.
THIS PRODUCT USES 2 DIFFERENT CRC ALGORYTHMS. If, in the unlikely
chance, some virus gets through one, it will be caught in the
second. For those of you that are familier with the virus problem,
Gilmore Systems of Beverly Hills California has a program that will
create a modified version of a file that is different, but has the
same CRC. They use this to show you that a standard CRC is not good
enough for true virus detection. I ran their program called PROVECRC
and then ran VIRUS DETECTER. VIRUS DETECTER DID show that the file
was changed. One CRC was the same, but the second was not.
As you may be able to deduce, the VIRUS.RPT file can also be used to
know what file changes have been made. One client I support has well
over 100 programs and batch files that I change periodically. When
it comes time to produce a new release of the system, I run VIRUS
DETECTER and it tells me all that I have changed and thus what I
must update in the next release of the software.
PAGE 3
----- WHAT IS A VIRUS DETECTER? ----- (continued)
Another by-product of VIRUS DETECTER is the ability to know what
software is being used on a specific computer. If you are using
VIRUS DETECTER in a business environment and have expensive word
processors, spreadsheets, or data base managers, and you find that
the files created by these products are not changing, you can
pretty well assume that the products are not being used very often
and may wish to reexamine the need for the software product on a
specific machine.
It would be ideal to install VIRUS DETECTER on a system known to
be virus free, but this is most often not the case (your system
is most likely to be virus free, but you cannot be sure). In this
case you will use VIRUS.RPT to let you know if a program has been
changed that should not have. Once knowing this you will obviously
want to re-install the infected programs, and then run VIRUS
DETECTER more often while logging the programs used. This process
will narrow down the possible programs that may contain the virus
and possibly narrow it down to the specific program if you are
diligent in your efforts.
Regardless of whether your system is known to be virus free or not,
and once suspecting you have been infected, the very first course
of action is to look at VIRUS.RPT and see if any new programs have
been installed and determine if they came from a reliable source.
Software purchased from reliable sources and vendors should be
virus free. Software from a bulletin board, friends, or the black
market is much less reliable.
The way VIRUS DETECTER differs from most other anti-viral products
that I have seen (other than using 2 different CRC algorythms as
described earlier), is that it automatically keeps itself up-to-date
every time you run it. Other products make you run their program one
time to setup a base file, and a subsequent run to check if any
differences have occurred. At this point you then have to run the
program to setup a new base file. Other products written in some
higher level languages such as C or PASCAL, are actually quite
slow. VIRUS DETECTER is written in assembler and on an 8mhz machine
with a 60ms, 20 megabyte disk drive will process the entire 20
megabytes in about 20 minutes. On an IBM PS/2 Model 60, it will
process the 20 megabytes in roughly 5-6 minutes (Keep in mind that
every byte of every file has to be read).
PAGE 4
----- HOW TO INVOKE VIRUS DETECTER -----
NOTE: THE FREE VERSION OF VIRUS DETECTER WILL NOT PROCESS THE
ROOT DIRECTORIES OF ANY DISK DRIVE. IF YOU HAVE DONE A
GOOD JOB OF DISK MANAGEMANT, THE ROOT DIRECTORY SHOULD
CONTAIN 3 PROGRAMS ONLY (COMMAND.COM, IBMBIO.COM,
AND IBMDOS.COM). I REALIZE THAT THESE ARE THE MOST
IMPORTANT PROGRAMS IN YOUR SYSTEM, BUT I BELIEVE THAT
QUALITY SOFTWARE IS WORTH A PRICE. VIRUS DETECTER IS
NOT EXPENSIVE, ESPECIALLY WHEN COMPARED TO THE COST THAT
A VIRUS CAN INCUR.
VIRUS DETECTER should be installed into its own directory and will
always look for and create its files in the drive/directory from
where it was invoked. If you create a directory called VIRUS and
always invoke VIRUS DETECTER from that directory, you will have
no problems. If, on the other hand, you invoke VIRUS DETECTER
from the root directory the first time, and from another directory
on a subsequent run, VIRUS DETECTER will not be able to find the
required file VIRUS.NEW and will abort.
After installing VIRUS DETECTER, the first invocation is done by
simply typing 'VIRUS' from the DOS prompt. Subsequent runs are
done by typing 'VIRUS C' from the DOS prompt. The 'C' indicates
that VIRUS DETECTER should perform a check against the VIRUS.NEW
file that exists in the current directory. If the 'C' is not
supplied, VIRUS DETECTER will only create a new base file
(VIRUS.NEW).
Whenever VIRUS DETECTER is run, it will search for VIRUS.NEW
and rename it to VIRUS.OLD. If the program would be interrupted
by control-c, a power outage, or an abort issued by VIRUS
DETECTER, you can rename VIRUS.OLD to VIRUS.NEW so you will not
lose the snapshot from the last run.
It may be important to know exactly when VIRUS DETECTER issues
this rename:
If invoked as 'VIRUS':
VIRUS.NEW is not renamed to VIRUS.OLD until after all
options have been entered and processing against the
drives has started.
If invoked as 'VIRUS C':
VIRUS.NEW is not renamed to VIRUS.OLD until after the
options from the last run have been extracted from
VIRUS.NEW. If VIRUS.NEW has been corrupted, VIRUS
DETECTER will abort.
VIRUS DETECTER will create the report file VIRUS.RPT only during
the checkout process (VIRUS C). If VIRUS.RPT exists, it will be
deleted and a new one allocated, again in directory from where
VIRUS DETECTER was inkoked.
PAGE 5
----- HOW TO INVOKE VIRUS DETECTER ----- (continued)
VIRUS DETECTER can be run from a batch file. VIRUS DETECTER has
to go through the entire tree structure of each drive, but will
always return to the directory where it started from. So if
invoked from a batch file, no special commands are required to
reposition yourself to a specific directory. VIRUS DETECTER will
also set the ERRORLEVEL to 1 if any errors are detected so your
batch file can pause, exit or do anything you specfy if a problem
occurs.
PAGE 6
----- SYSTEM REQUIREMENTS -----
VIRUS DETECTER has been successfully run using DOS 2.0 through
DOS 3.3 and has been run on the following machines (not all versions
of DOS on all machines):
o IBM PC
o IBM XT
o IBM XT/286
o IBM AT
o IBM PS/2 Model 50, 60 and 80
o Compac Deskpro
o Leading Edge Model D
o Panasonic Business Partner
VIRUS DETECTER has a color display while running and works well
using Monochrome, CGA, EGA, and VGA adapters/monitors.
PAGE 7
----- A WORD FROM THE AUTHOR -----
I had been looking for quite some time to find a virus protection
package that would be most suitable for my needs. Three problems
were evident in nearly all other software I had tried:
1. The software would not update its base file on subsequent
runs. This meant that after running the checkout process,
I would have to re-run the program to re-create the base
file and keep my system up to date.
2. Most other software was actually quite slow. Time is money
and since I use my computer to support other clients, I
found it bothersome to tie up my computer for well over
an hour.
3. Most other software packages (and other non-virus detecting
software) would work on one drive at a time only. This is
one of my pet peeves and it really bothers me that so much
software is like that. With DOS's limit of 30 meg per drive
and with so many larger drives and multi-drive systems,
software that functions on more than one drive is a must. (A
popular and quite usefull file find utility works on the
current drive only. I will be making my own version of this
that will search all drives on the system.)
Since I could not find a satisfactory product, I decided to write
my own. I took the extra time and effort to write it in assembler
and feel that the result was well worth the time and aggravation
spent.
I also thought long and hard as to what other by-products could
be gained while performing the virus detection and found that
virus detection itself was the by-product. For me, knowing what
files and programs have been added, deleted, or changed in any
way is most important. This may not be the case for you, but
after using VIRUS DETECTER for some time, you will find it to be
quite usefull for a variety of other tasks.
PAGE 8
----- DISCLAIMER -----
The following disclaimer should be viewed as a legal obligation on
my part to protect myself. I by no means imply that VIRUS DETECTER
is flawed in any way. I have every intention to make modifications
and enhancements to ensure that VIRUS DETECTER is the best possible
product. If you are having problems with VIRUS DETECTER or suspect
that it may be flawed in any way, notify me and I will make the
necessary changes as soon as possible, and distribute it
accordingly.
VIRUS DETECTER is distributed as is, with no guarantee that it will
work correctly in all situations. In no event will the Author be
liable for any damages, including lost profits, lost savings or
other incidental or consequential damages arising out of the use of
or inability to use this program, even if the Author has been
advised of the possibility of such damages, or for any claim by any
other party.
The VIRUS DETECTER distribution package, consisting of the program
and documentation file are copyright (c) 1988 by Tim OBrien. The
author reserves the exclusive right to distribute this product, or
any part thereof, for profit.
Under NO CIRCUMSTANCES may modified versions or dis-assembled
versions be distributed, either for profit or in the public domain.
User's groups, clubs, libraries and clearing houses are authorized
to distribute the FREE version of VIRUS DETECTER persuint to the
following conditions:
1. No charge is made for the software or documentation. A
nominal distribution fee may be charged, provided that it
is no more that $5 total.
2. The program and documentation are distributed together
and are not modified in ANY way.
PAGE 9
----- REGISTRATION -----
Once you become a registered user of VIRUS DETECTER, you will
receive a new version of VIRUS DETECTER which will include root
directory files in the virus detection process. You will also
receive the following benefits:
o Support by phone, mail, or through my private bulletin
board system. Support will only be provided to registered
users.
o Notice of significant upgrades and bug fixes. You will be
notified by mail for any such updates. There will be no
charge for updates as long as you send me a diskette and
return postage. You can also receive a free update through
my private bulletin board.
Each copy of VIRUS DETECTER is registered for use on one computer
only and a registered copy is required for each additional
computer. The price breakdown is given below:
Copies Price Per Copy
--------- ----------------
1-50 $25.00
51-100 $21.00
101-500 $17.00
500+ $14.00
The registered version of VIRUS DETECTER can be used in commercial,
educational, and governmental institutions.
The free version of VIRUS DETECTER is expressly prohibited for use
in commercial, educational, and governmental institutions except for
the purpose of evaluation.
PAGE 10
----- REGISTRATION FORM -----
Please send me a copy of the current full version of VIRUS
DETECTER and add me to the list of registered users, to be
eligible for support and update notices.
Computer Model: ___________________________________________
Diskette Type: _______ 5.25 in. ________ 3.5 in.
Copies: _______ 5.25 in. ________ 3.5 in
Company Name: ________________________________________________
Your Name: ________________________________________________
Title: ________________________________________________
Address: ________________________________________________
City, State, Zip: ________________________________________________
Any initial comments about VIRUS DETECTER? ______________________
_________________________________________________________________
_________________________________________________________________
Where did you hear about VIRUS DETECTER? ________________________
_________________________________________________________________
_________________________________________________________________
Send registration form and check or money order to:
Tim OBrien
P.O. Box 742
Mequon, Wi. 53092
(414) 241-9504
PAGE 11
----- SAMPLE FILES CREATED BY VIRUS DETECTER -----
VIRUS.NEW and VIRUS.OLD both have the following format:
VIRUS DETECTER STARTED AT 17:24 ON 08-13-1988 VERSION 1.1
**Building New Base File**
DRIVES BEING CHECKED: C D
FILE EXTENSIONS BEING CHECKED: *
DIR FILE EXT SIZE DATE TIME CRC1 CRC2
DIR: C:\